
package cn.bluethink.eguan.model.core;

import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * 系统内置的动作类型
 * 
 * @title 操作同一种动作类别抽象
 * @Copyright 苏州中科蓝迪公司所有(c)2016-2021
 * @version 0.1
 *
 * @note 修订历史： （1）liuxn于2018年8月14日构建初始版本0.1
 *       （2）giszyj@126.com于2018年10月06日删除otype和rtype属性
 *       （3）wanglei于2018年11月13日添加系统内置动作类型
 */
public class EgActionType {

    /** 动作类型: 创建 */
    public static final int CREATE = 1;
    /** 动作类型: 开始 */
    public static final int START = 2;
    /** 动作类型: 更新 */
    public static final int UPDATE = 3;
    /** 动作类型: 删除 */
    public static final int DELETE = 4;
    /** 动作类型: 完成 */
    public static final int FINISH = 5;
    /** 动作类型: 评价 */
    public static final int EVALUATE = 6;
    /** 动作类型: 指派 */
    public static final int DISPATCH = 7;
    /** 动作类型: 评论 */
    public static final int COMMENT = 8;
    /** 动作类型: 重做 */
    public static final int REDO = 9;
    /** 动作类型: 暂停 */
    public static final int PAUSE = 10;
    /** 动作类型: 上传 */
    public static final int UPLOAD = 11;

    /**
     * 动作类型标识
     */
    private Integer atid;

    /**
     * 动作类型名称
     */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String name;

    public EgActionType() {

    }

    public EgActionType(Integer atid, String name) {
        this.atid = atid;
        this.name = name;
    }

    @Override
    public int hashCode() {
        return atid.intValue();
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null || obj.getClass() != this.getClass())
            return false;
        EgActionType other = (EgActionType) obj;
        return other.atid.equals(atid);
    }

    public Integer getAtid() {
        return atid;
    }

    public void setAtid(Integer atid) {
        this.atid = atid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
